<script>on mouseUpshow card field "release notes"show button "OK"end mouseUp</script>
</part>
<part>
<id>6</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>52</left>
<top>49</top>
<right>493</right>
<bottom>339</bottom>
</rect>
<style>shadow</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>New York</font>
<textSize>10</textSize>
<textStyle>plain</textStyle>
<textHeight>13</textHeight>
<name>release notes</name>
<script></script>
</part>
<part>
<id>7</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>431</left>
<top>302</top>
<right>479</right>
<bottom>324</bottom>
</rect>
<style>roundrect</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>OK</name>
<script>on mouseUphide button "OK"hide card field "release notes"end mouseUp</script>
</part>
<part>
<id>8</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>472</left>
<top>0</top>
<right>512</right>
<bottom>39</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>14767</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpvisual effect iris opengo to card "credits"end mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>13</id>
<text>Welcome to HyperBBS</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Welcome to the adventure of do-it-yourself Sysoping. With HyperBBS anybody with a little extra time and money can be a Sysop and run their own BBS. Be the first on your block to invite strange bits into your home!Intrigued? Hooked? Slightly interested? Then read on. This help stack will explain all the details of how to be a Sysop (even if you never finished high school).Confused? Don't know what "BBS" means? Then read on anyway. All the mysteries will be explained (well, most of them anyway)...</text>
</content>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>WelcomeHow to Use Sysop HelpBBSsHyperBBSHow to Proceed</text>
</content>
<content>
<layer>card</layer>
<id>6</id>
<text>HyperBBS 1.0 Release Notes:This is the long-awaited, first full release of HyperBBS. Feel free to use HyperBBS for anything you like. The only restriction is that you not sell it for money, unless the it's a nominal charge to cover distribution.The goal of HyperBBS is to be so easy to set up and run that we'll see lots and lots of BBSs springing up all over the place.Beta-testers: Those of you who downloaded and tested 1.0b1: Thanks! You helped to find several significant bugs and to make HyperBBS much much better. Remember, however, that one condition of downloading the beta version was that you upgrade to this, the release version. Having only one version will greatly reduce confusion in the future. There's an appendix in this stack with information on how to update your BBS painlessly (well, mostly painless). Thanks again.Good luck, have fun, and I hope you like it. --Harry...</text>
</content>
<name>Section 111</name>
<script></script>
</card>
card_3495.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>This stack is the Sysop help for HyperBBS. It contains everything you need to know to set up and run a HyperBBS.On the right side of the screen is a three level hierarchy (corresponding roughly to chapters, sections, and subsections in a traditional book). You can go directly to any part of the help system by clicking on the title you want. If the section is in a different branch of the hierarchy, first click on the top-most category, then the middle one, then the specific section. Try it out a bit before proceeding.</text>
</content>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>WelcomeHow to Use Sysop HelpBBSsHyperBBSHow to Proceed</text>
</content>
<name>Section 121</name>
<script></script>
</card>
card_4697.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>BBS stands for "Bulletin Board System." It's a way to let people use your computer over the telephone. It lets them leave messages much like a paper-and-thumb-tack bulletin board does.Traditional BBSs and this first version of HyperBBS communicate with users who dial up the system via a very simple, text-only interface. Users use a "terminal program" (such as Red Ryder, Microphone, or MacTerminal) to interact with the BBS.Besides public messages, BBSs provide users with private mail and public domain or shareware files.</text>
</content>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>WelcomeHow to Use Sysop HelpBBSsHyperBBSHow to Proceed</text>
</content>
<name>Section 131</name>
<script></script>
</card>
card_6881.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>From the user point of view, HyperBBS is just like other, existing BBS programs. From the Sysop point of view, however, HyperBBS uses the power of HyperCard to make setting up and running a BBS as simple as possible.It is my hope that having a simple-to-use BBS widely and cheaply available will foster an explosion in BBSs. All you need is a computer you don't use 24 hours a day, a second phone line (only a few dollars a month), and a little free time to set things up and run them.I plan later on to build a user-side HyperCard stack, so that the BBS is as easy to use as it is to Sysop.</text>
</content>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>WelcomeHow to Use Sysop HelpBBSsHyperBBSHow to Proceed</text>
</content>
<name>Section 141</name>
<script></script>
</card>
card_7254.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>This help stack contains all the information you need to set up a HyperBBS of your own, presented in a step-by-step fashion.It is recommended that you first skim through this help stack and the User Help Stack. Then go through the sections on setting up and running the BBS in more detail. The process is very easy, but we're not at the point yet where you don't even have to read the instructions (maybe the next release?).</text>
</content>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>WelcomeHow to Use Sysop HelpBBSsHyperBBSHow to Proceed</text>
</content>
<name>Section 151</name>
<script></script>
</card>
card_3613.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Setting up the BBS consists of three steps:Collect the parts, both hardware and software.Put the pieces together and test them out.Customize the BBS to make it exactly the way you want.This section of the help system will lead you through this process, step by step. Appendix C is a quick reference sheet which can be printed out.</text>
</content>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
<text>HyperBBS is written in HyperCard. Therefore, you need a Macintosh to run it. Furthermore, you need a Mac that can run HyperCard. If you can read this stack on the machine, you can run HyperBBS on it.BBSs use disk space. A message oriented BBS will use a moderate amount of space. A file oriented BBS with an active user population will use as much disk space as you can afford. Also, the more space available, the less of your time needed to prune it.Two 800K floppies is the minimum needed for HyperBBS. A 20MB hard disk is best.</text>
</content>
<name>Section 221</name>
<script></script>
</card>
card_4223.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>HyperBBS should work with any Hayes-compatible modem. It's been tried with a Hayes 1200 and an Apple Personal. There are relatively few assumptions about the modem built into the BBS software, but some are unavoidable.If it doesn't work with your modem, it is possible to change the way the BBS works. This isn't as easy as running the BBS with a modem it already knows, but it isn't impossible either. Before you try it, though, make absolutely sure that that really is the problem.HyperBBS should run at 300, 1200, or 2400 baud, but it has not actually been tried much with a 2400 baud modem.</text>
</content>
<name>Section 222</name>
<script></script>
</card>
card_4481.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Probably the most complicated part of setting up a telecommunication system, including a BBS, is getting the cabling right. It seems so simple, yet it takes so many hours...You should try out the cabling to the modem with a terminal program, not with HyperBBS. If you can talk to the modem and make calls using a terminal program (like Red Ryder or Microphone), HyperBBS will probably also work.HyperBBS specifically avoids using the more esoteric 232 signals like DTR and DCD, just so you don't have to get that part of the cable right as well.</text>
</content>
<name>Section 223</name>
<script></script>
</card>
card_5047.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>The best thing to do with a BBS is have a second phone line dedicated to the BBS. That lets you keep the BBS up 24 hours a day, avoids the problem of people calling the number at the wrong time, and is generally simpler. And a second phone isn't really all that expensive.You can, however, use your main phone line. Let people know that the BBS is available only during certain hours. Bring up the BBS only during those hours, and expect a few random modem calls during the off hours.</text>
</content>
<name>Section 224</name>
<script></script>
</card>
card_5361.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>HyperBBS Home StackUserList StackHyper House StackMessage StackSysop Help StackUser Help Stack</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>HyperBBS uses its own Home stack. It's very important to keep them straight and not try to use the regular Home stack with HyperBBS or open other, non-HyperBBS stacks, when using the HyperBBS Home stack.The HyperBBS Home stack contains most of the HyperTalk scripts that make the BBS run. It also contains a set of XCMDs for talking to the serial port. The main purpose of the HyperBBS Home stack is to keep from having to reproduce these things in all of the various stacks that make up HyperBBS. But some of the scripts make changes to cards and fields, and therefore can muck up non-HyperBBS stacks.</text>
</content>
<name>Section 231</name>
<script></script>
</card>
card_5481.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>HyperBBS Home StackUserList StackHyper House StackMessage StackSysop Help StackUser Help Stack</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>The UserList stack contains a list of all callers to the BBS. Besides their names and passwords, it contains clearance levels and authorized options. These allow you to customize the BBS so that some sections are only available to selected individuals.The UserList also contains information about each user: where they call from, what equipment they use, when they last called the BBS, how long they were on for, and how many times they've called.</text>
</content>
<name>Section 232</name>
<script></script>
</card>
card_6397.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>HyperBBS Home StackUserList StackHyper House StackMessage StackSysop Help StackUser Help Stack</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>The Hyper House stack is the part of HyperBBS where the login messages, main menus, etc., reside. In order to edit the structure of the BBS, you edit this stack.Included in this stack are cards or backgrounds which will send out a message (notice) when the user reaches it, ones which will login in the user, and ones which will present a list of choices (buttons) to the user. By rearranging the cards in this stack, you can change the structure and operation of the BBS. But that's what we'll talk about in step 3, on customizing...</text>
</content>
<name>Section 233</name>
<script></script>
</card>
card_6589.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>HyperBBS Home StackUserList StackHyper House StackMessage StackSysop Help StackUser Help Stack</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Messaging is the primary function of the BBS. Messages include public messages, private mail, and files.The BBS comes with one generic message stack. For each message category you have, you'll need to make a copy of this stack and rename it.Messages in the message stacks can have files "attached" to them, and they can be marked "private." Therefore, all three functions of public messages, private mail, and files are handled by this one structure -- this is different than most other BBSs, which separate all or some of these functions.</text>
</content>
<name>Section 234</name>
<script></script>
</card>
card_7109.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpgo to "User Help"if the short name of this stack is not "User Help" thenanswer "Couldn't find User Help stack." with "OK"end ifend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>13</id>
<text>?</text>
</content>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
<text>HyperBBS Home StackUserList StackHyper House StackMessage StackSysop Help StackUser Help Stack</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>This User Help Stack provides on-line help for people calling the BBS. It is a very extensive help system for users as opposed to Sysops.Besides being useful from the dial-in user's point of view, it is also viewable from HyperCard directly. If you haven't used HyperBBS before, you should read through the User Help Stack before setting up a BBS.</text>
</content>
<name>Section 236</name>
<script></script>
</card>
card_7828.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Before we can do anything with HyperBBS itself, we must set up the hardware, and make sure that it's working properly. I suggest following this check-list:1. Set up the Macintosh and disk.2. Verify that you can run HyperCard.3. Hook up the modem to the Mac and to the phone line.4. Verify that it works: call another BBS using a terminal program.By making sure that the hardware works first, you'll make life a lot simpler if you run into problems with the set-up process later; you won't have to wonder which step screwed up.</text>
</content>
<name>Section 241</name>
<script></script>
</card>
card_8010.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Next, you should create two folders for use with HyperBBS.One folder will contain the HyperBBS stacks, and the other folder will contain the files that are associated with messages. Create one folder and name it "HyperBBS". Create the second folder inside the "HyperBBS" folder and name it "Uploads".Remember that HyperBBS uses its own Home stack, and that you need to be sure not to confuse it with the regular Home stack.</text>
</content>
<name>Section 242</name>
<script></script>
</card>
card_8303.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>All of the stacks that came with the HyperBBS should be placed in the HyperBBS folder. That includes: Home UserList Hyper House Generic Message Stack User Help Sysop HelpNext, make four new stacks by duplicating the Generic Message Stack. These will be your message sections. Name them "General Messages","Technical", "What's Cooking", and"HyperCard Disc.". You can change the layout and names later.</text>
</content>
<name>Section 243</name>
<script></script>
</card>
card_9064.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>The next step is to boot up the BBS by double-clicking on the Home stack in the HyperBBS folder from the Finder. You'll get a control panel with buttons which: start on-line operation (DON'T DO IT), start local (non-on-line) operation, go to the UserList stack, and go to the Sysop and User Help stacks.By clicking on the "Begin Local Operation" button, you can log in and try out the BBS locally (i.e., without using the modem/phone line). You can log in as a new user, or you can use the user name "Sysop", with password"Sysop password". Try everything out and make sure it's all working.</text>
</content>
<name>Section 244</name>
<script></script>
</card>
card_9781.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>(1) The default UserList lets the "Sysop" read and kill any messages in any message category, even private ones. You will, therefore, want to change the Sysop password to something only you know. Click on the Userlist button on the main control panel, find the entry for Sysop, and edit the password.(2) There are pre-login, post-login, and new user notices, plus titles on each message section. These can all be changed by logging in locally and editing them as they appear.(3) If you're using a 2400 baud modem, check the "2400 baud" checkbox on the second card of the home stack.</text>
</content>
<name>Section 245</name>
<script></script>
</card>
card_10138.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>The BBS is now ready to go on-line. All it takes is a click on the "Begin On-line Operation" button on the main BBS control panel.Of course, you can't tell if the BBS is really operational until a user successfully logs in via the modem/telephone. Assuming you don't have a second computer/modem to try it out with (most of us don't), you should get a friend to call in and try it.Once it's been checked out on-line, you can start telling everyone the BBS is up and ready for use. And you'll want to think about customizing it.</text>
</content>
<name>Section 246</name>
<script></script>
</card>
card_10393.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Types of CustomizingMessage SectionsHyper HouseUser Authorizations</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>There are two types of customization that can be done with HyperBBS: changing things that I designed to be easily changable, that can be changed within the structure of the BBS; and changing things that I didn't explicitly plan for.The first kind of change is what we're talking about in this section. The second type of change is up to you -- though I do try to give you as much help as possible in the BBS Internals section.The changes I planned for include rearranging the message sections, reordering Hyper House, and adding or subtracting access authorizations.</text>
</content>
<name>Section 251</name>
<script></script>
</card>
card_10698.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Types of CustomizingMessage SectionsHyper HouseUser Authorizations</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>I set up the distribution version of HyperBBS with the sections I thought would be most useful. You can add, delete, rearrange, or rename them. It's best to make these changes before the BBS starts serious operation, so you don't have to worry about messages already in the various sections.The first thing to do is create a set of stacks for the message sections you want. Duplicate and rename the "Generic Messages" stack for each.Then login locally and go to the main menu screen. Rearrange the picture and associated buttons to suit. See the existing buttons for examples.</text>
</content>
<name>Section 252</name>
<script></script>
</card>
card_10944.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Types of CustomizingMessage SectionsHyper HouseUser Authorizations</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>When the Sysop asks for local operation, or when a remote connection is established, the BBS goes to the first card of the Hyper House stack. From there on, the cards in Hyper House determine the structure of BBS operation. By changing these cards, you can change the menus and messages seen by the users, whether and what type of authorization is required to get from one part of the house to another, and when and how message sections are entered.To rebuild Hyper House, open it as a normal stack (don't select local operation). You can then explore it's current structure, and change it as you like. (See also BBS Internals.)</text>
</content>
<name>Section 253</name>
<script></script>
</card>
card_11147.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Types of CustomizingMessage SectionsHyper HouseUser Authorizations</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Two security features are built into the UserList stack: clearance and options. These two fields are placed in the global variables userClear and userOpt. They can then be used to make decisions about what parts of Hyper House a user has access to. (Initially, userClear is set to "low", and userOpt is set to empty.)The intention is that the clearance is a level, whereas the options are a list of authorization options.Option "readAny" allows a user to read any messages, even private ones. Option "killAny" allows a user to kill any messages, even private ones.</text>
</content>
<name>Section 254</name>
<script></script>
</card>
card_11281.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>Types of BBSsMessage MaintenanceFilesAdvertising the BBSVandals</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>There are a lot of different types of BBSs, with different purposes in life. It's best if you decide before you start what you want, though letting it go where it will is not a bad strategy either. Depending upon the type you want to run, you can set up different message sections, encourage different types of messaging, and spend more or less time on-line managing the BBS.Types of BBSs include: • General, anything goes BBSs. • Private mail centers. • Special interest exchanges. • Company message centers. • -- Fill in the blank... --</text>
</content>
<name>Section 311</name>
<script></script>
</card>
card_11529.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>Types of BBSsMessage MaintenanceFilesAdvertising the BBSVandals</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Inevitably, BBSs accumulate messages which are useless, obsolete, or even intentionally obscene. You need to weed them from time to time, and this can take some time to do.You should also check the messages for legal content. The jury is still out on whether a BBS Sysop can be held legally responsible for messages posted on his board (I don't think so, but I'm not the "judge").And if you're trying to run a BBS with a particular purpose or style, you'll want to push it in the right direction and filter out unwanted diversions.</text>
</content>
<name>Section 321</name>
<script></script>
</card>
card_13892.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>Types of BBSsMessage MaintenanceFilesAdvertising the BBSVandals</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Files associated with messages are stored in the folder specified in the second Home card (normally "Uploads"). The file name is composed of the name of the message section plus the date/time of the message converted into seconds. This isn't the most Sysop-friendly naming convention in the world, but it ensures that the connection between the name and the message is maintained even if the message is moved to a different card.Mac files are generally converted to MacBinary form in the process of uploading. They can be converted to and from MacBinary locally by pressing the upload or download button when in local operation mode.</text>
</content>
<name>Section 331</name>
<script></script>
</card>
card_12013.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>Types of BBSsMessage MaintenanceFilesAdvertising the BBSVandals</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>If you're not running a special purpose BBS, you may want as many users as possible -- it certainly keeps things interesting. I have two suggestions for getting more callers:First, let people know the BBS is around. You can do this by calling other BBSs in the area and leaving a message that includes your BBS's number and what it specializes in (if anything).Second, people tend to like BBSs with lots of interesting files to download. They may then stick around to chat, but the thing that hooks them first is the availability of free or shareware software.</text>
</content>
<name>Section 341</name>
<script></script>
</card>
card_12255.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>Types of BBSsMessage MaintenanceFilesAdvertising the BBSVandals</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>BBS vandals (1) try to crash the BBS;(2) leave large, annoying, or obscene messages; and (3) leave files which, when run, erase disks.I believe this BBS is crash-proof. If not, I'll hear about it soon and fix it.As to obscene, etc., messages, the best thing to do is delete and ignore them. Replying only encourages the vandal. If you ignore him/her/it, they'll eventually get bored and go away.Trojan horses are impossible to filter out 100%. You can try running them with your main disk turned off. If you don't filter, do warn your users.</text>
</content>
<name>Section 351</name>
<script></script>
</card>
card_12340.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>ComponentsGeneric OperationTo Be Continued</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Home Stack ScriptModem CardsHyper House CardsMessage Stack CardsHelp Stacks</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Where all the smarts is</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>The stack script of the HyperBBS Home stack is where most of the methods and functions are for the BBS. If you're planning to modify the BBS in any major way, you'd best print out and study that script in some detail.The methods contained in the Home stack script include ones for handling card text display, user text input, user filling of fields, user pushing of buttons, creating new users, logging in and out new and old users, and a variety of additional, miscellaneous items.See the Generic Operation section for more details on "normal" operation.</text>
</content>
<name>Section 411</name>
<script></script>
</card>
card_12821.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>ComponentsGeneric OperationTo Be Continued</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Home Stack ScriptModem CardsHyper House CardsMessage Stack CardsHelp Stacks</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Ring...ring...</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Also contained in the Home stack are a set of cards which reset the modem, wait for ringing, answer the phone, and figure out the proper baud rate. Once the connection has been established by these cards, the Hyper House stack is opened.However, a timer is always running, via methods in the Home stack script, and invoked by the Idle message. This timer ensures that if the user is idle for too long, he'll be automatically logged off. Logoff is accomplished by going to the modem reset card. This time-out also handles the case of a caller hanging up without logging off.</text>
</content>
<name>Section 412</name>
<script></script>
</card>
card_13133.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>ComponentsGeneric OperationTo Be Continued</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Home Stack ScriptModem CardsHyper House CardsMessage Stack CardsHelp Stacks</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Structure</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>The cards in the Hyper House stack provide the structure of the BBS: what order the user must do things in, and what parts of the BBS he can get to from other parts of the BBS.Cards are included for general notices, logging in, handling new users, and an overall menu. These cards can be duplicated or added to to change or augment the structure of the BBS.Services can also be made available before login, the login process can be removed entirely or reduced to just a matter of getting the user's name, and there can be multiple login points to limit access to different portions of the system.</text>
</content>
<name>Section 413</name>
<script></script>
</card>
card_13513.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Each message stack contains several different types of cards:The first card is the menu card, which allows the user to choose what operation to perform. The second card is the filter card, which lets the user select a criteria to filter messages by. The third card is where new messages are created. If they're OKed, the contents are copied into a regular message card. The fourth card is a master template for the message cards; this empty message card ensures there's at least one message card even when the section is empty. The rest of the stack is composed of message cards.</text>
</content>
<name>Section 414</name>
<script></script>
</card>
card_13690.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>ComponentsGeneric OperationTo Be Continued</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Home Stack ScriptModem CardsHyper House CardsMessage Stack CardsHelp Stacks</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Documentation</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>By now, you should be familiar with both the Sysop Help stack (this stack) and the User Help stack. They document how to use the system from the Sysop and from the User point of view.If you make any changes in the operation of the BBS, you should update the help stacks to reflect those changes.In the case of the Sysop Help stack, Appendix D is specifically set aside for describing changes. Please use it!</text>
</content>
<name>Section 415</name>
<script></script>
</card>
card_15988.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>This section describes the "normal" or generic operation of the BBS. This operation is driven by scripts in the Home stack, particularly those for the openCard and idle messages.Many of the cards and backgrounds that make up HyperBBS modify the way this generic procedure actually operates. This can be done easily because of the message/method facility of HyperTalk. A card that wants to modify the normal operation simply intercepts some or all of the messages and do something else instead. HyperBBS is explicitly designed with this sort of interception in mind.</text>
</content>
<name>Section 421</name>
<script></script>
</card>
card_18164.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Each time a new card is opened, HyperCard send the openCard message. HyperBBS then sends an initCard message to the card. When the home stack gets the initCard message (i.e., it wasn't overriden by the card, background, or stack), it sends an initFields message and then a displayFields message.The initFields message in turn causes any user-editable fields to be cleared out. (A field is considered user-editable if the string "-- editable" exists in its script; thus a field is not editable unless explicitly declared to be so by the BBS designer.)</text>
</content>
<name>Section 422</name>
<script></script>
</card>
card_18371.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>The default displayFields method displays all visible, non-editable fields(i.e., those with fixed contents). The word "display" is used in this section to mean "sent to the serial port for the user to see."The name is displayed first, followed by a colon, followed by the contents of the field. The serial port XCMDs take card of auto-wrapping long lines.If a field is declared to be "long", by placing "-- long" in its script, a carriage return is inserted between the name and the contents. The body of a message is an example of a long field; most fields are short.</text>
</content>
<name>Section 423</name>
<script></script>
</card>
card_18469.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>User input is handled by a general"looking for xxx" mechanism which is invoked by the idle message. If nothing is being looked for at a particular idle, the lookingForNothing message is sent. This method tries to find a field that has not yet been filled in and calls fillField to set up the looking for mechanism to fill that field in. This process involves checking whether the field is short or long: long fields can contain multiple lines and are terminated by a period (.) on a line by itself.</text>
</content>
<name>Section 424</name>
<script></script>
</card>
card_18730.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>If the lookingForNothing method cannot find a field that needs filling, it sends the message "cardFilled".If you are building a card with no buttons, that takes some action as soon as it is filled, this is a good method to override. It is usually best to have the overriding method push an "OK" button on the screen. That way, you can use the button yourself on local logins, but not bother the user with it.The default cardFilled method sends a displayButtons message. The method invoked by this message displays all pushable buttons for the user to select from -- note that the first letter of these buttons must be unique.</text>
</content>
<name>Section 425</name>
<script></script>
</card>
card_19121.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>After the buttons have been displayed by displayButtons, that method sets the looking for mechanism to look for a single character input, and to invoke the method pushButton when the character is received.The pushButton method takes one character of input from the user, figures out which button is intended(if any), sends out the remainder of the button name, and then sends a mouseUp message to the selected button. Usually, the mouseUp causes a jump to another card, starting the whole process over again from the beginning.</text>
</content>
<name>Section 426</name>
<script></script>
</card>
card_16173.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>ComponentsGeneric OperationTo Be Continued</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Uh,,,</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>This section should be more complete and detailed, especially since there're virtually no comments in the code. But I only do this stuff on evenings and weekends...I will hack away at it over time, but I thought people would rather have something out there to play with than waiting for the absolute perfect edition (whatever that is).</text>
</content>
<name>Section 431</name>
<script></script>
</card>
card_12737.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Small Problem list:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>• You can't see the message you're replying to as you write the reply.• It supports MacBinary I but not II.• It doesn't support Kermit, YModem, or any other non-XModem protocols.• There's no way for the user to change his password or other UserList information.• There's no facility for the user to edit messages once they've been entered.• Messages can only be listed in full; would be nice to list just subjects.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>All the Litle StuffIt's Too SlowBugs?</text>
</content>
<name>Section 511</name>
<script></script>
</card>
card_17804.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Tap...tap...tap...</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>HyperTalk is not all that fast. I've done some things to make HyperBBS run as fast as possible, but there are still some annoying delays. Once it's sending out text, it keeps up easily with the maximum baud rate, but it can take a while for the text output to get started.Rather than trying to fix the problem directly (which would be difficult and would almost certainly mean making a mess of the internal structure of the BBS), I'm going to press on with the next step(s) in the evolution of the BBS. I expect later releases of HyperCard itself to be much faster. That will (hopefully) render the problem quickly academic.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>All the Litle StuffIt's Too SlowBugs?</text>
</content>
<name>Section 512</name>
<script></script>
</card>
card_17363.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Yes, well...</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Every non-trivial program has bugs in it. HyperBBS is no exception. Report any bugs/problems to me at my BBS: 415-824-7809.There is one potential problem in this release (something I haven't been able to pin down enough to say for sure if it's a bug or not):• Some people have reported problems getting the upload/download working properly. In particular, the BBS seems to have trouble finding the Uploads folder. I've changed the naming scheme for this release, and I hope that fixes it. If not, and if someone out there figures out what's going wrong, please let me know.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>All the Litle StuffIt's Too SlowBugs?</text>
</content>
<name>Section 513</name>
<script></script>
</card>
card_14189.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Comm v.s. Calc</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Computers are becoming less and less about calculating and more and more about communicating. This is currently true in business uses of computers (desk-top publishing and presentations are taking over from spreadsheets (which mostly calculate numbers to put in a report and show to someone anyway)). And it's starting to be true in games, where it's much more fun to play against a human opponent than against the computer.I believe this to be a very positive movement, for the computer industry, computerists, and mankind as a whole. My hope is that an easy-to-use BBS will push this movement forward even faster. Someday we'll all have BBSs.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Why HyperBBS At AllUser Front-endReliable LinksAutomatic OperationMessage ForwardingEtc., Etc., Etc.</text>
</content>
<name>Section 521</name>
<script></script>
</card>
card_14656.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>The Complete HyperBBS</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Now that there's a Sysop-friendly BBS, it about time for a user-friendly one...I plan to build a HyperCard stack that acts as the user side of the BBS, giving the user the same graphic display that the Sysop has. This is similar to the DIALOG front-end I did for the August, 1987 MacWorld Expo.In fact, one of the reasons for building this BBS is to have a "stable" host to build a front-end in front of.(By the way, I'm not promising nothing about dates here: I do this stuff for fun; deadlines would be too much like work...)</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Why HyperBBS At AllUser Front-endReliable LinksAutomatic OperationMessage ForwardingEtc., Etc., Etc.</text>
</content>
<name>Section 522</name>
<script></script>
</card>
card_14870.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>What was that?</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>One of the biggest problems that gets in the way of automated front-ends or remote message or transaction systems is line noise. One misplaced bit and the whole thing can get out of synch, deranged and homicidally confused.The "simple" way around this is to add a layer to the communication protocol: use error checking and retransmission to be sure the stream of data bytes has gotten across without errors before presenting it to the"higher level" portions of the system.The current popular protocols for this are X.PC and MNP. I expect to implement one of these.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Why HyperBBS At AllUser Front-endReliable LinksAutomatic OperationMessage ForwardingEtc., Etc., Etc.</text>
</content>
<name>Section 523</name>
<script></script>
</card>
card_15351.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>In the wee hours of the morning</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>A busy BBS spends most of its time waiting for users to decide what to type next. A much more efficient approach is to automate the process of logging on, getting the relevant information, logging off, and then presenting the information to the user.The next step is to have the connection process take place without immediate supervision (perhaps in the middle of the night when the phone rates are lower).Once both the BBS and user sides of the process are implemented in HyperCard, automating the process is no big deal.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Why HyperBBS At AllUser Front-endReliable LinksAutomatic OperationMessage ForwardingEtc., Etc., Etc.</text>
</content>
<name>Section 524</name>
<script></script>
</card>
card_15573.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Tell Fred to tell Mary to tell Tom to tell Joe that...</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Perhaps the most successful non-commercial computer network is UseNet, a loose collection of Unix machines that pass messages between themselves via phone lines. A HUGE amount of information (some of it even useful) passes over this network. I'd like to see a similar net built with HyperBBSs, maybe using the same protocols, maybe using different ones but "gatewaying" into UseNet (and into FidoNet, a net of MS-DOS BBSs).Once this net is established, you can easily build asynchronous games and other interesting applications.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Why HyperBBS At AllUser Front-endReliable LinksAutomatic OperationMessage ForwardingEtc., Etc., Etc.</text>
</content>
<name>Section 525</name>
<script></script>
</card>
card_15866.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>And on and on and on...</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>I'm leaving a lot of things out of this section -- because I want to get this thing on the street rather than spending the rest of my life expanding this appendix.On the near side, there will be extensions to the operation of the BBS, refinements, and new features.On the far side, I haven't mentioned transportable objects (like a Hyper-Card stack that gets sent to a remote machine and then executed there), or agents that figure out where the right information for you can be found and go get it, or using the thousands of HyperBBS's idle times to compute...</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Why HyperBBS At AllUser Front-endReliable LinksAutomatic OperationMessage ForwardingEtc., Etc., Etc.</text>
</content>
<name>Section 526</name>
<script></script>
</card>
card_16520.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpopen printing with dialogpush cardgo to card "Section 532"hide background button "print this appendix"hide background button "back to first card"hide background button "prev"hide background button "next"print cardgo to next cardprint cardclose printingshow background button "print this appendix"show background button "back to first card"show background button "prev"show background button "next"pop cardend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Crib sheet</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>The following two cards are a quick reference card for setting up the BBS. Since (assuming you only have one Macintosh) you can't be reading this help file and running HyperBBS at the same time, this appendix provides the essential information on how to set HyperBBS up and what the various parts are in a format that fits on one page.To make your quick reference card, just hit the Print This Appendix button here or on one of the following two cards, and select two cards per page printing in the dialog it presents.</text>
</content>
<name>Section 531</name>
<script></script>
</card>
card_8939.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Files: Home - HyperBBS's own home stack. UserList - a list of all valid users of the BBS. Hyper House - stack that structures and customizes the BBS. Generic Message Stack - "standard" format message stack. User Help - help for dial-up users. Sysop Help - help for the Sysop.Initial message section file names (create by duplicating Generic Messages and renaming): General Messages What's Cooking Technical HyperCard Disc.</text>
</content>
<content>
<layer>background</layer>
<id>2</id>
<text></text>
</content>
<name>Section 532</name>
<script></script>
</card>
card_9724.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>Set-up procedure: 1. Set up the hardware: A. Assemble the Macintosh and disk. B. Try running HyperCard. C. Connect the modem and phone line. D. Try running a terminal program, call another BBS with it. 2. Folders: A. Create a folder for the stacks; call it "HyperBBS". B. Create a folder inside the HyperBBS folder to hold uploaded files; call it "Uploads". 3. Files: A. Put all the HyperBBS stacks in the "HyperBBS" folder. B. Make four copies of the "Generic Messages Stack" and name them: "General Messages" "What's Cooking" "Technical" "HyperCard disc."</text>
</content>
<content>
<layer>background</layer>
<id>2</id>
<text> 4. Boot HyperBBS by double-clicking on the Home stack in the "HyperBBS" folder. 5. Click on the "Begin Local Operation" button and try out the BBS locally; make sure everything works OK. You can login with a new user name or use the name "Sysop" with the password "Sysop password". 6. Click on the "Go to UserList" button and change the password for login name "Sysop" to something only you know. 7. Login locally again, and change the new user login, pre-login, and post-login messages, and the titles of the message sections. 8. If you have a 2400 baud modem, check the checkbox on the second card of the Home stack. 9. Click on the "Begin On-line Operation" button to actually start up the BBS. 10. Have a friend call the BBS and check it out.</text>
</content>
<name>Section 533</name>
<script></script>
</card>
card_19511.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Changes/Fixes:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>This appendix summarizes the changes made in each new version.Since this documentation file is updated to reflect these changes, first time readers don't need to look at this material. If you already have a previous version, however, you'll want to read this rather than re-reading the entire help file.Changes come in two flavors: extensions/improvements and bug fixes. Distinguishing between the two is left as an exercise to the reader...</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 541</name>
<script></script>
</card>
card_20387.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpvisual effect wipe left fastgo to next cardend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Version 1.0;Upgrading from 1.0b1:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>(1) Rename the HyperBBS folder to "Old HyperBBS".(2) Move the Uploads folder into the HyperBBS folder.(3) Set up a 1.0 BBS by following the instructions in the 1.0 distribution. This is nearly same procedure as you followed for 1.0b1 (but not quite).(4) Make any changes you want to customize the BBS.(5) Import your old users by using the Import Users button in UserList.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 542</name>
<script></script>
</card>
card_16692.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpvisual effect wipe left fastgo to next cardend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Version 1.0;Upgrading from 1.0b1:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>(6) Find and delete the old Sysop entry(the new one must have "readAny" and "killAny" in the Options field).(7) For each message area, import your old messages by using the Import Messages button on the second card of the home stack. Do not delete the originals when copying (just in case).Note: you've already moved the files.(8) Bring up the BBS and try it out in local mode. Make sure everything looks good.(9) Bring up the BBS in on-line mode, and get someone to call it up and try it.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 542a</name>
<script></script>
</card>
card_3238.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpvisual effect wipe left fastgo to next cardend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Version 1.0;Changes:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>• The user name "Sysop" is no longer special in any way. Instead:• Any user can be enabled for reading any messages (i.e., including those not to or from him) by including the word "readAny" in his UserList options field.• Any user can be enabled for killing any messages by including the word "killAny" in his UserList options field.• The 1.0 UserList file has both of the options mentioned above enabled for the Sysop entry. (Needless to say, no other users have these options enabled unless you edit their UserList options.)</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 542b</name>
<script></script>
</card>
card_20555.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpvisual effect wipe left fastgo to next cardend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Version 1.0;changes:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>• A problem in the Recent command is fixed. It would sometimes not show messages it should have shown.• A "Continuous" command has been added to the message cards and to the Filter card. This command displays all the rest of the message in the stack non-stop. The display stops when the end of the stack is reached, when the user aborts (ctrl-C or ctrl-O or ctrl-X) or when the Sysop clicks. This should help people who want to dump all messages or all recent messages to a text file for later reading or processing.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 542c</name>
<script></script>
</card>
card_20814.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpvisual effect wipe left fastgo to next cardend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Version 1.0;changes:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>• A bunch of little internal stuff has been tweaked in various ways.• The format of the last user display in the message box has been changed, hopefully to make it more useful and interesting.• A count of the total number of callers is now kept on the idle (dog waiting) card.• An Import Users button has been added to the UserList stack. This lets you read in other UserLists, and most importantly, lets you import a 1.0b1 UserList into a 1.0 UserList.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 542d</name>
<script></script>
</card>
card_21034.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpvisual effect wipe left fastgo to next cardend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Version 1.0;changes:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>• A Weed Users button has been added to the UserList stack, which lets you delete all users who haven't logged in since a date you specify.• A list of all uploads and downloads performed by each user is optionally kept in the comments field in the UserList. A check-box on the second card of the Home stack enables this feature. There is a limit of 100 most recent up/download records per user.• The size of the comments field in the UserList has been expanded and made into a scrolling field. This is for the up/download recording feature.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 542d</name>
<script></script>
</card>
card_19445.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpvisual effect wipe left fastgo to next cardend mouseUp</script>
</part>
<content>
<layer>background</layer>
<id>28</id>
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Version 1.0;changes:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>• An Import Messages button on the second card of the Home stack lets you transfer messages from one message stack to another. This also lets you import 1.0b1 messages into 1.0 stacks.• A bug in XModem uploads was fixed. It would cause the upload to fail under some circumstances when there were transmission errors.• The UserList stack now shows the number of users records in the stack.• Control characters other than return and tab are now filtered out by the serial port XCMDs.</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 542e</name>
<script></script>
</card>
card_19826.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Version 1.0;changes:</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>• Input and output now auto-wraps. That is, if a line is longer than 75 characters, it will be split onto two lines. In both input and output, it does its best to wrap at the most recent word separation. On output, this just means inserting a return after the word break that's closest to the end of the line. On input, however, it waits until the user types something in column 75, then backspaces over the last word typed, resends that word at the beginning of the next line, and then, finally, echoes the character the user typed. All of this is implemented in the serial port XCMDs. There is a button in the main menu for turning it off and on (on is the default).</text>
</content>
<content>
<layer>background</layer>
<id>30</id>
<text>Introduction1.0b1 -> 1.0</text>
</content>
<name>Section 542f</name>
<script></script>
</card>
card_14349.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<text>IntroductionSetting up the BBSRunning the BBSBBS InternalsAppendices</text>
</content>
<content>
<layer>background</layer>
<id>29</id>
<text>A: ProblemsB: Future plansC: Quick ReferenceD: Version notesE: Local Extensions</text>
</content>
<content>
<layer>background</layer>
<id>13</id>
<text>Fill in the blank...</text>
</content>
<content>
<layer>background</layer>
<id>12</id>
<text>Applications built in HyperCard are inherently changeable by the user. That's what makes HyperCard so great. And this BBS is no exception.While I will always maintain the "main line" edition of HyperBBS, I expect and hope that there will be dozens of "side lines," "limited editions," and "just plain weird variations."If you build such a unique creation, please do the following: 1. Let me know about it (in brief). 2. Add cards to this appendix to describe the changes. 3. Change User Help (for the users).</text>
</content>
<name>Section 551</name>
<script></script>
</card>
card_2262.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
<script>on mouseUpvisual effect iris closego to first cardend mouseUp</script>
</part>
<content>
<layer>card</layer>
<id>1</id>
<text>HyperBBS was written entirely in HyperCard by Harry Chesley. It uses a set of serial port XCMDs developed by me at Apple Computer, Inc.None of this would have been possible without the work of Bill Atkinson and Dan Winkler, who created HyperCard and HyperTalk. Neither would it have been possible without Apple Computer, which had the foresight to (1) make a truly innovative computer: Macintosh, and (2) produce and effectively give away a truly innovative software product: HyperCard.</text>